#include<iostream>
#include<vector>
#include<set>
 using namespace std;
const int N=2e5+10;
vector<int> v;
set<int> s;
int n;
int main()
{
	cin>>n;
	for(int i=1;i<=n;i++)
	{
		int x;
		cin>>x;
		s.insert(x);
	}
	vector<int> v(s.begin(),s.end());
	if(v.size()<2)
	{
		cout<<-1<<endl;
		return 0;
	}
	//纯纯数学题，次大致要要么是小除以大，a n-2,要么是大除以小，最后一个数除以a n-1
	int n=v.size();
	cout<<max(v[n-3],v[n-1]%v[n-2])<<endl; 
	
	return 0;
}